package com.dmn.gcode.springchains.core;

import org.springframework.beans.factory.BeanNameAware;

/**
 * date 17.01.11
 *
 * @author dvponomarev
 * @version 1.0
 */
public interface IOperator extends BeanNameAware {
    /**
     * Execute operator.
     *
     * @param chainMaster allows to invoke other operators.
     * @throws Throwable
     */
    void execute(IChainMaster chainMaster) throws Throwable;

    /**
     * Useful for operator instance meta info logging.
     */
    String getBeanName();
}
